package com.redoor.app.stake.basicdata.dao;

import com.redoor.app.stake.basicdata.model.BaseStation;
import com.redoor.app.stake.basicdata.model.controllerModel.BaseStationCriteria;
import com.redoor.app.stake.basicdata.model.serviceModel.BaseStationServiceBean;
import com.redoornetwork.framework.mybatis.mapper.Mapper;
import com.yotouch.app.stake.model.ChargingMonitor;
import com.yotouch.app.stake.model.CityData;
import com.yotouch.app.stake.model.Station;

import java.util.List;
import java.util.Map;

public interface BaseStationMapper extends Mapper<BaseStation> {

    /**
     * 根据参数查询基本站对象
     * @param params
     * @return
     */
    List<BaseStation> qryStationInfoDetail(BaseStationCriteria params);


    /**
     * 根据参数查询站对象-对外接口对象
     * @param params
     * @return
     */
    List<Station> qryStationInfoDetailForHsf(BaseStationCriteria params);

    /**
     * 根据参数查询页面展示对象
     * @param params
     * @return
     */
    List<BaseStationServiceBean> qryStationServiceInfoDetail(BaseStationCriteria params);

    /**
     * 根据参数查询数目
     * @param params
     * @return
     */
    int qryStationInfoCnt(BaseStationCriteria params);

    /**
     * 查询站下各运营商的桩数量
     * @param params
     * @return
     */
    Map<String,Object> qryStationStakeCntGroupByOperator(BaseStationCriteria params);

    /**
     * 查询站下交直流桩数目
     * @param params
     * @return
     */
    Map<String,Object> qryStationStakeTypeCnt(BaseStationCriteria params);

    /**
     *
     * @param orgNo
     * @return
     */
    String qryMaxStationNoWithDistrictcode(String orgNo);
    /**
     * HSF大屏接口调用
     * 查询充电站地理信息包括充电站实时状态、设备状态等信息
     * @Author zhangYiHang
     * @Date 2018/3/27 18:31
     * @Param
     */
    List<ChargingMonitor> qryStationinfoByConditionToHSF(Map<String, Object> map);
    /**
     * HSF大屏接口调用
     * 查询充电站地理信息包括充电站实时状态、设备状态等信息总数
     * @Author zhangYiHang
     * @Date 2018/3/27 19:58
     * @Param
     */
    int qryStationinfoByConditionTotalToHSF(Map<String, Object> map);
    /**
     * HSF接口调用
     * 根据高速编号查询对象
     * @Author zhangYiHang
     * @Date 2018/3/28 17:08
     * @Param
     */
    List<BaseStation> qryStationBygsNo(Map<String, Object> map);
    /**
     * HSF接口 调用
     * 查询区域站点数量
     * @Author zhangYiHang
     * @Date 2018/3/29 9:35
     * @Param
     */
    List<CityData> qryCitysStationInfo(Map<String, Object> map);
}